]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
Bug 587951 - Don't show empty categories
authorColin Walters <walters@verbum.org>
Thu, 13 Aug 2009 18:16:58 +0000 (14:16 -0400)
committerColin Walters <walters@verbum.org>
Wed, 19 Aug 2009 03:27:49 +0000 (23:27 -0400)
When loading menus, skip ones which entirely consist of NoDisplay=true
items.

js/ui/appDisplay.js

index f12c3c28d17ddf71e143b84df3bf80872992b1eb..a278e5e4b2293ed11d4abb88041d1046e674da3d 100644 (file)
@@ -335,12 +335,18 @@ AppDisplay.prototype = {
         this._allItems = {};
         this._appCategories = {};
 
-        this._menus = this._appSystem.get_menus();
         // Loop over the toplevel menu items, load the set of desktop file ids
-        // associated with each one
-        for (let i = 0; i < this._menus.length; i++) {
-            let menu = this._menus[i];
+        // associated with each one, skipping empty menus
+        let allMenus = this._appSystem.get_menus();
+        this._menus = [];
+        for (let i = 0; i < allMenus.length; i++) {
+            let menu = allMenus[i];
             let menuApps = this._appSystem.get_applications_for_menu(menu.id);
+            let hasVisibleApps = menuApps.some(function (app) { return !app.get_is_nodisplay(); });
+            if (!hasVisibleApps) {
+                continue;
+            }
+            this._menus.push(menu);
             for (let j = 0; j < menuApps.length; j++) {
                 let app = menuApps[j];
                 this._addApp(app);